perm filename GDPY[GEM,BGB] blob
sn#057509 filedate 1973-08-09 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00004 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 SUBR(VDPY,VERTEX) SPECIAL VERTEX DISPLAY *
C00009 00003 SUBR(FDPY,FACE) Special Face display *
C00011 00004 SUBR(IDPY,NODE) Identifier display. *
C00014 ENDMK
C⊗;
SUBR(VDPY,VERTEX) ;SPECIAL VERTEX DISPLAY *
LAC 1,VERTEX
TESTZ 1,NSEW+PZZ↔POP1J
XDC 0,1↔FIXX↔SUBI VERNX↔PUSH P,0
YDC 0,1↔FIXX↔SUBI VERNY↔PUSH P,0↔PUSHJ P,AIVECT
CALL(DPYBIG,[1])↔CALL(DPYBRT,[3])
CALL(IDPY,VERTEX)
CALL(DPYBIG,[2])↔CALL(DPYBRT,[2])
POP1J
ENDR VDPY;9-JAN-73(BGB)9-FEB-73(BGB)
SUBR(EDPY,EDGE) ;SPECIAL EDGE DISPLAY *
CALL(DPYBIG,[1])↔CALL(DPYBRT,[4])
LAC 2,EDGE↔PVT 1,2
TESTZ 1,NSEW!PZZ↔GO L1
XDC 0,1↔FIXX↔DAC X
YDC 0,1↔FIXX↔DAC Y↔CALL(AIVECT,X,Y)
CALL(DTYO,["+"])↔ CALL(AIVECT,X,Y)
L1: LAC 2,EDGE↔NVT 1,2
TESTZ 1,NSEW!PZZ↔GO L2
XDC 0,1↔FIXX↔ADDM X↔PUSH P,
YDC 0,1↔FIXX↔ADDM Y↔PUSH P,↔CALL(AVECT)
CALL(DTYO,["-"])
L2: LAC 2,EDGE
LAC X↔ASH -1↔PUSH P,
LAC Y↔ASH -1↔PUSH P,↔CALL(AIVECT)
CALL(IDPY,EDGE)
CALL(DPYBIG,[2])
CALL(DPYBRT,[2])
CALL(AIVECT,[0],[0]) ;FORCE BIG & BRT RESET.
POP1J
DECLARE{X,Y}
ENDR EDPY;9-FEB-73(BGB)
SUBR(FDPY,FACE) ;Special Face display *
EXTERN ECCW
LAC 1,FACE↔DAC 1,F↔TEST 1,FBIT↔POP1J
PED 2,1↔DAC 2,E↔DAC 2,E0↔JUMPE 2,POP1J.
SETZM I
CALL(DPYBIG,[1])
CALL(DPYBRT,[3])
SKIPN E↔GO[LAC 1,F↔PFACE 1,1↔PVT 1,1↔GO VDPY+1]
L1: AOS I↔LAC 2,E↔TEST 2,VISIBLE↔GO L2
X1DC 0,2↔DAC 0,X
Y1DC 1,2↔DAC 1,Y
CALL(AIVECT,0,1)↔LAC 2,E
X2DC 0,2↔ADDM 0,X
Y2DC 1,2↔ADDM 1,Y
CALL(AVECT,0,1)
LAC 0,X↔ASH 0,-1↔SUBI 0,VERNX
LAC 1,Y↔ASH 1,-1↔SUBI 1,VERNY
CALL(AIVECT,0,1)
CALL(DECDPY,I)
L2: CALL(ECCW,E,F)
CAMN 1,E↔GO L3↔DAC 1,E
CAME 1,E0↔GO L1
L3: CALL(DPYBRT,[2])
CALL(DPYBIG,[2])
POP1J
DECLARE{F,E,E0,X,Y,I}
ENDR FDPY;9-FEB-73(BGB)
SUBR(IDPY,NODE) ;Identifier display. *
;--------------------------------------------------------------------
EXTERN CAMERA,NTYPE,NNAMES
SKIPN NODE↔GO[CALL(DPYSTR,{[[ASCIZ/NIL/]]})↔POP1J]
CALL(NTYPE,NODE)↔CAIGE 1,$BODY↔GO L5
LAC 1,NODE↔SETZ 2,
TESTZ 1,BBIT↔GO[
SKIPE 13,-2(1)↔GO[
LAC 14,-1(1)↔DZM 15
CALL(DPYSTR,[13])↔POP1J]
L1: CW 1,1↔TESTZ 1,BBIT↔AOJA 2,L1
AOS 2↔PUSH P,2↔CALL(DTYO,["B"])
CALL(DECDPY)↔POP1J]
TESTZ 1,FBIT↔GO[
L2: NFACE 1,1↔TESTZ 1,FBIT↔AOJA 2,L2
AOS 2↔PUSH P,2↔CALL(DTYO,["F"])
CALL(DECDPY)↔POP1J]
TESTZ 1,EBIT↔GO[
L3: NED 1,1↔TESTZ 1,EBIT↔AOJA 2,L3
AOS 2↔PUSH P,2↔CALL(DTYO,["E"])
CALL(DECDPY)↔POP1J]
TESTZ 1,VBIT↔GO[
L4: NVT 1,1↔TESTZ 1,VBIT↔AOJA 2,L4
AOS 2↔PUSH P,2↔CALL(DTYO,["V"])
CALL(DECDPY)↔POP1J]
CALL NTYPE,NODE
L5: CALL DPYSTR,NNAMES(1)
LAC 1,NODE↔CAMN 1,UNIVERSE↔POP1J
$TYPE 2,1↔DZM 5 ;NODE - TYPE - COUNT.
LAC 3,UNIVERSE↔SON 3,3↔DAC 3,4 ;SON0 - SON.
CAME 1,4↔GO[$TYPE 0,4↔CAMN 0,2↔AOS 5↔SIS 4,4
CAME 3,4↔GO .-1↔GO .+1]↔AOS 5
CALL(DECDPY,5)
POP1J
ENDR IDPY;2/4/73(BGB)------------------------------------------------
END